﻿

        using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        /*
         * 
          * 1、定义一个方法，求一个整数数组中的最大值，最小值，和，平均数。
           * 如果是一个方法只能有一个返回值，那只能每一个都得定义一个方法来实现，不过有了ref和out这实现起来就方便多了。

         *   参考步骤：
          *  定义一个一维数组，数组中存放一些数据（控制台输入）。
           * 定义几个变量：max、min、sum、avg
        *
          *  定义一个方法，方法返回数组元素之和,方法形参有max min avg。
           * 
            * 请用ref和out各做一遍，并在注释中，描述他们的区别。
         */

        //static void Main(string[] args)
        //{
        //    int[] arr = new int[5];

        //    for (int i = 0; i < arr.GetLength(0); i++)
        //    {
        //        Console.WriteLine("第" + (i + 1) + "个整数：");
        //        int num = int.Parse(Console.ReadLine());
        //        arr[i] = num;
        //    }
        //    Console.WriteLine("输入的五个数为：");
        //    foreach (var item in arr)
        //    {
        //        Console.Write(item);

        //    }

        //    int max = arr[0];
        //    int min = arr[0];
        //    int sum = 0;
        //    int avg = 0;
        //    calculate(a );
        //    Console.WriteLine("最大值为{0}，最小值为{1}，和为{2}，平均值为{3}", max, min, sum, avg);
        //}

        //static void calculate(int[] arr, ref int max, ref int min, ref int sum, ref int avg) 
        //{

        //    for (int i = 0; i < arr.GetLength(0); i++)
        //    {
        //        if (max<arr[i])
        //        {
        //            max = arr[i];
        //        }
        //        if (min>arr[i])
        //        {
        //            min = arr[i];
        //        }
        //        sum = sum + arr[i];
        //    }
        //    avg = sum / 5;

        //}
        static void Main(string[] args)
        {
            int[] arr = new int[5];

            for (int i = 0; i < arr.GetLength(0); i++)
            {
                Console.WriteLine("第" + (i + 1) + "个整数：");
                int num = int.Parse(Console.ReadLine());
                arr[i] = num;
            }
            Console.WriteLine("输入的五个数为：");
            foreach (var item in arr)
            {
                Console.WriteLine(item); 

            }

            int max ;
            int min ;
            int sum ;
            int avg ;
            calculate(arr, out max, out min, out sum, out avg);
            Console.WriteLine("最大值为{0}，最小值为{1}，和为{2}，平均值为{3}", max, min, sum, avg);
        }

        static void calculate(int[] arr, out int max, out int min, out int sum, out int avg)
        {
                max = arr[0];
                min=arr[0] ;
                sum = 0;
                avg = 0;
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                if (max < arr[i])
                {
                    max = arr[i];
                }
                if (min > arr[i])
                {
                    min = arr[i];
                }
                sum = sum + arr[i];
            }
            avg = sum / 5;

        }
    }
}
